import axios from "axios";
import { ElMessage } from "element-plus";

const axiosurl = "http://localhost:12306";
const service = axios.create({
  baseURL: axiosurl,
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
});
// 添加请求拦截器（Interceptors）

service.interceptors.request.use(
  function (config) {
    // 发送请求之前做写什么
    console.log("拦截器响应成功");
    return config;
  },
  function (error) {
    // 请求错误的时候做些什么
    console.log("拦截器响应失败");
    console.log(error);
    return Promise.reject(error);
  }
);
// 添加响应拦截器
service.interceptors.response.use(
  (res) => {
    // 对响应数据做点什么
    if (res.statusText === "OK" || res.statusText === "Created") {
      return res.data;
    } else {
      console.log(res);
      ElMessage.error("数据请求失败");
    }
  },
  function (error) {
    // 对响应错误做点什么
    console.log(error, "网络请求错误，请检查网络！", error);
    switch (error.response.status) {
      case 404:
        ElMessage({
          message: "URL地址错误",
          type: "warning"
        });
        break;
      case 500:
        ElMessage({
          message: "服务器有问题",
          type: "warning"
        });
        break;
      case 401:
        ElMessage({
          message: "未授权，请重新登录",
          type: "warning"
        });
        break;
      default:
        ElMessage.error("未知错误");
        break;
    }
    return Promise.reject(error);
  }
);
export default service;
